package com.example.demo.utils;

import cn.hutool.core.util.RandomUtil;
import io.jsonwebtoken.security.Keys;
import org.springframework.stereotype.Component;

import javax.crypto.SecretKey;

@Component
public class Constants {

    // 使用RandomUtil.randomString(10)生成一个长度为10的随机字符串作为密钥
    public static final byte[] JWT_SECURITY_STRING = RandomUtil.randomBytes(32);

    public static final SecretKey JWT_SECURITY_KEY = Keys.hmacShaKeyFor(JWT_SECURITY_STRING);

    // 这里设置为1800000毫秒，即半小时
    /**
     * token过期时间
     * 单位：毫秒
     */
    public static final long EXPIRATION_TIME = 300000;

    public static final Integer MESSAGE_TYPE_PUBLIC = 0;
    public static final Integer MESSAGE_TYPE_PRIVATE = 1;
    public static final Integer MESSAGE_READ = 1;
    public static final Integer MESSAGE_UNREAD = 0;

    // 设置续期时间，10分钟
    /**
     * token刷新时间（如果小于该时间则刷新token）
     * 单位：毫秒
     */
    public static final long JWT_RENEWAL_TIME = 240000;
}
